/* Universidad del Valle de Guatemala
 * Stack.java
 * Mariana Castillo, 12374
 * Julio Maldonado, 12377
 * Seccion 30, Algoritmos y Estructura de Datos
 * Fecha: 03/07/13
  * Patrones de diseno Factory y Singleton para poder elegir la implementacion en tiempo de ejecucion y solo instanciar un objeto*
 */

package hojat4;

public class StackFactory_Singleton<E>{
    
    private static StackFactory_Singleton INSTANCE= null;
    
    // Se privatiza el contructor para que no puede ser llamado desde otro lugar
    private StackFactory_Singleton() {
    }
    
    public static StackFactory_Singleton getInstance(){
        if(INSTANCE==null){
            INSTANCE= new StackFactory_Singleton();
        }
        return INSTANCE;
    }
  
    public AbstractStack<E> getImplementacion(String item){
        if(item.equals("ARRAY")){
            System.out.println("ARRAYLIST CREADA\n");
            return new StackArrayList<E>();
        }
        else{
            System.out.println("VECTOR CREADO");
            return new StackVector<E>();
        }
        

    }
 
}
